using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

using UMEVOR.BLL;
using UMEVOR.DTO;
using UMEVOR.VO;


public partial class Portal_MensagemFonada : System.Web.UI.Page
{
    #region Eventos
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack && !this.IsCallback)
        {
            BLLT_MENSAGEM_FONADA bllMensagemFonada = new BLLT_MENSAGEM_FONADA();
            gvMensagem.DataSource = bllMensagemFonada.listarTodos();
            gvMensagem.DataBind();
        }
    }
    protected void gvMensagem_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        BLLT_MENSAGEM_FONADA bllMensagemFonada = new BLLT_MENSAGEM_FONADA();
        gvMensagem.DataSource = bllMensagemFonada.listarTodos();
        gvMensagem.DataBind();
    }
    protected void gvMensagem_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.DataItem != null)
        {
            T_MENSAGEM_FONADA mensagemFonada = (T_MENSAGEM_FONADA)e.Row.DataItem;

            Label lblTamanho = (Label)e.Row.FindControl("lblTamanho");
            
            FileInfo arquivo = new FileInfo(mensagemFonada.TX_CAMINHO);
            double tamanho = arquivo.Length / 1024;

            if (tamanho > 1024)
            {
                tamanho = tamanho / 1024;

                lblTamanho.Text = String.Format("{0:#,###.##}", tamanho) + " MB";
            }
            else
                lblTamanho.Text = String.Format("{0:#,###.##}", tamanho) + " KB";
            
            }
    }
    protected void gvMensagem_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string caminho = e.CommandArgument.ToString();
                
        if (e.CommandName.Equals("Ouvir"))
        {
            FileInfo arquivo = new FileInfo(caminho);
            if (arquivo.Exists)
            {
                Response.Clear();
                Response.AddHeader("Content-Disposition", "filename=" + arquivo.Name);
                Response.AddHeader("Content-Length", arquivo.Length.ToString());
                Response.ContentType = "application/octet-stream";
                Response.WriteFile(arquivo.FullName);
                Response.End();
            }
        }
        else if (e.CommandName.Equals("Download"))
        {
            FileInfo arquivo = new FileInfo(caminho);
            if (arquivo.Exists)
            {
                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment; filename=" + arquivo.Name);
                Response.AddHeader("Content-Length", arquivo.Length.ToString());
                Response.ContentType = "application/octet-stream";
                Response.WriteFile(arquivo.FullName);
                Response.End();
            }
        }

        BLLT_MENSAGEM_FONADA bllMensagemFonada = new BLLT_MENSAGEM_FONADA();
        gvMensagem.DataSource = bllMensagemFonada.listarTodos();
        gvMensagem.DataBind();
    }
    #endregion
    
}
